<?php
class Factores_model extends CI_Model {
    
	//constructor de la clase
    function __construct() {
        //LLamar al constructor del Modelo
        parent::__construct();
    }
	
	
function factores($id_factor=NULL)
{
        $where="";
        $band=false;
        if ($id_factor!=NULL) {
            $where="WHERE id_factor = $id_factor";
            $band=true;
        }
        
        $q="SELECT * FROM  edp_factor  ".$where;
        $query=$this->db->query($q);

        if ($band) {
            $r=(array)$query->row();
        } else {
            $r=$query->result_array();
        }        

        return $r;
}
function verificar_uso_perfil($id)
{
    $q="SELECT * FROM edp_asignacion  
    WHERE id_perfil = $id GROUP BY id_perfil";
    $query=$this->db->query($q); 
    $r=$query->result_array();

    return (sizeof($r)>0)?true:false;
    
    
}
function eliminar_factor($id)
{
    $q="DELETE FROM edp_factor  WHERE id_factor = ".$id;
    $query=$this->db->query($q);   
}
function actualizar_factor($info)
{
    extract($info);
    $q="UPDATE edp_factor SET factor='$factor'  WHERE id_factor = ".$id_factor;
    $query=$this->db->query($q);   
}
function guardar_factor($info)
{
    extract($info);
    $q="INSERT INTO edp_factor(factor)  VALUES('$factor') ";
    $query=$this->db->query($q);   
    return $query->insert_id();
}

function categorias($id_categoria=NULL)
{
        $where="";
        $band=false;
        if ($id_categoria!=NULL) {
            $where="WHERE id_categoria = $id_categoria";
            $band=true;
        }
        
        $q="SELECT * FROM  edp_categoria  ".$where;
        $query=$this->db->query($q);

        if ($band) {
            $r=(array)$query->row();
        } else {
            $r=$query->result_array();
        }        

        return $r;
}
function guardar_perfil($info)
{
    extract($info);
    $ins2=$ins="";
    if (isset($id_perfil_origen)) {
        $ins=" ,id_perfil_origen";
        $ins2=" ,$id_perfil_origen";

    }
    $q="INSERT INTO edp_perfil ( `nombre`, `descripcion`, fecha_creacion, id_usuario_crea $ins) 
                        VALUES ( '$nombre', '$descripcion',CONCAT(CURDATE(),' ',CURTIME()), $id_usuario $ins2)";
    
    $query=$this->db->query($q); 
    return $this->db->insert_id() ;
}
function guardar_pregunta($info)
{
        extract($info);
    $q="INSERT INTO edp_pregunta (`id_factor`, `pregunta`, `id_perfil`, `ponderacion`) 
                            VALUES ( '$id_factor', '$pregunta', '$id_perfil', $ponderacion);";
    
    $query=$this->db->query($q); 
}
function perfiles($id_perfil=NULL)
{
        $where="";
        $band=false;
        if ($id_perfil!=NULL) {
            $where="WHERE p.id_perfil = $id_perfil";
            $band=true;
        }
        
        $q="SELECT
            p.*, p2.nombre AS copiado
        FROM
            edp_perfil p
        LEFT  JOIN edp_perfil p2 ON p.id_perfil_origen = p2.id_perfil ".$where;
        $query=$this->db->query($q);

        if ($band) {
            $r=(array)$query->row();
        } else {
            $r=$query->result_array();
        }        

        return $r;
}
function preguntas($id_perfil=NULL)
{
        $where="";
        if ($id_perfil!=NULL) {
            $where="WHERE id_perfil = $id_perfil";
            
        }
        $q="SELECT *  FROM edp_pregunta INNER JOIN edp_factor USING(id_factor)  ".$where;
        $query=$this->db->query($q);
        return $query->result_array();
}
function eliminar_perfil($id_perfil=NULL)
{
    if ($id_perfil!=NULL) {
        $query=$this->db->query("DELETE FROM edp_perfil WHERE id_perfil= $id_perfil;");
        $query=$this->db->query("DELETE FROM edp_pregunta WHERE id_perfil= $id_perfil;");
    }

}
function eliminar_pregunta($id_pregunta=NULL)
{
    if ($id_pregunta!=NULL) {
        $query=$this->db->query("DELETE FROM edp_pregunta WHERE id_pregunta= $id_pregunta;");
    }
}
function actualizar_perfil($info)
{
    extract($info);
    $q="UPDATE edp_perfil SET nombre='$nombre', descripcion ='$descripcion', fecha_modificacion= CONCAT(CURDATE(),' ',CURTIME()), id_usuario_modifica=$id_usuario
                        WHERE id_perfil=$id_perfil";
    
    $query=$this->db->query($q); 
    return $this->db->insert_id() ;
}
function actualizar_pregunta($info)
{
        extract($info);
    $q="UPDATE edp_pregunta SET pregunta='$pregunta', id_factor='$id_factor', ponderacion='$ponderacion' 
                            WHERE id_pregunta=$id_pregunta;";
    
    $query=$this->db->query($q); 
}

}
?>
